﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace MF.HSD.CreateVoucherBP
{
	/// <summary>
	/// 凭证集合 DTO :自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Name = "MF.HSD.CreateVoucherBP.VoucherDTOData", Namespace = "http://www.UFIDA.org/EntityData",IsReference=true)]
	[Serializable]
	[KnownType("GetKnownTypes")]
	public partial class VoucherDTOData : UFSoft.UBF.Business.DataTransObjectBase
	{
		public static IList<Type> GetKnownTypes()
        {
            IList<Type> knownTypes = new List<Type>();
                                      
            knownTypes.Add(typeof(List<MF.HSD.CreateVoucherBP.VoucherLineDTOData>));                                        
            knownTypes.Add(typeof(UFSoft.UBF.Util.Data.MultiLangDataDict));
            return knownTypes;
        }
		/// <summary>
		/// Default Constructor
		/// </summary>
		public VoucherDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
		
					TotalMoney=0m; 
					Diction= 0; 
		
			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
        internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
        {
			 initData();
        }
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        	        	        			if (this.VoucherLineDTO!=null)
			{
				foreach(MF.HSD.CreateVoucherBP.VoucherLineDTOData objdata in this.VoucherLineDTO)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        	        	        
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public VoucherDTOData(  System.String orgCode  , System.String voucherNo  , List<MF.HSD.CreateVoucherBP.VoucherLineDTOData> voucherLineDTO  , System.String toOrgCode  , System.Decimal totalMoney  , System.Int32 diction  )
		{
			initData();
			this.OrgCode = orgCode;
			this.VoucherNo = voucherNo;
			this.VoucherLineDTO = voucherLineDTO;
			this.ToOrgCode = toOrgCode;
			this.TotalMoney = totalMoney;
			this.Diction = diction;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// OrgCode
		/// 凭证集合.Misc.OrgCode
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_orgCode ;
		public System.String OrgCode
		{
			get	
			{	
				return m_orgCode ;
			}
			set	
			{	
				m_orgCode = value ;	
			}
		}
			
		

		/// <summary>
		/// VoucherNo
		/// 凭证集合.Misc.VoucherNo
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_voucherNo ;
		public System.String VoucherNo
		{
			get	
			{	
				return m_voucherNo ;
			}
			set	
			{	
				m_voucherNo = value ;	
			}
		}
			
		

		/// <summary>
		/// VoucherLineDTO
		/// 凭证集合.Misc.VoucherLineDTO
		/// </summary>
		[DataMember(IsRequired=false)]
		private List<MF.HSD.CreateVoucherBP.VoucherLineDTOData> m_voucherLineDTO ;
		public List<MF.HSD.CreateVoucherBP.VoucherLineDTOData> VoucherLineDTO
		{
			get	
			{	
				if (m_voucherLineDTO == null )
				{
					List<MF.HSD.CreateVoucherBP.VoucherLineDTOData> n_m_list = new List<MF.HSD.CreateVoucherBP.VoucherLineDTOData>() ;
					m_voucherLineDTO = n_m_list ;
				}
				return m_voucherLineDTO ;
			}
			set	
			{	
				m_voucherLineDTO = value ;	
			}
		}
			
		

		/// <summary>
		/// ToOrgCode
		/// 凭证集合.Misc.ToOrgCode
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_toOrgCode ;
		public System.String ToOrgCode
		{
			get	
			{	
				return m_toOrgCode ;
			}
			set	
			{	
				m_toOrgCode = value ;	
			}
		}
			
		

		/// <summary>
		/// TotalMoney
		/// 凭证集合.Misc.TotalMoney
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Decimal m_totalMoney ;
		public System.Decimal TotalMoney
		{
			get	
			{	
				return m_totalMoney ;
			}
			set	
			{	
				m_totalMoney = value ;	
			}
		}
			
		

		/// <summary>
		/// Diction
		/// 凭证集合.Misc.Diction
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int32 m_diction ;
		public System.Int32 Diction
		{
			get	
			{	
				return m_diction ;
			}
			set	
			{	
				m_diction = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
												
		#endregion 
	} 	
}

	
